home *** CD-ROM | disk | FTP | other *** search
- package
- {
- import flash.utils.Dictionary;
- import flash.xml.*;
-
- public class Database
- {
-
- protected static var _instance:Database = new Database();
-
- public static const DIE_ON_LOAD_FAIL:Boolean = false;
-
- internal static var MAXROWS:int = 3;
-
-
- public var PartnerTable:Array;
-
- public var PartnerValues:Dictionary;
-
- public var Partners:Array;
-
- public var Levels:Array;
-
- public var Occasions:Array;
-
- public function Database()
- {
- var _loc1_:XMLDocument = null;
- var _loc2_:XMLDocument = null;
- var _loc3_:XMLDocument = null;
- var _loc4_:int = 0;
- var _loc5_:PartnerAttribute = null;
- var _loc6_:XMLNode = null;
- var _loc7_:XMLNode = null;
- var _loc8_:XMLNode = null;
- var _loc9_:DressupTheme = null;
- var _loc10_:XMLNode = null;
- var _loc11_:XMLNode = null;
- var _loc12_:XMLNode = null;
- var _loc13_:Partner = null;
- var _loc14_:XMLNode = null;
- var _loc15_:Level = null;
- var _loc16_:XMLNode = null;
- var _loc17_:XMLNode = null;
- Partners = new Array();
- Levels = new Array();
- Occasions = new Array();
- PartnerTable = new Array();
- PartnerValues = new Dictionary();
- super();
- _loc1_ = MainDocument.Occasions.getDoc();
- _loc2_ = MainDocument.Levels.getDoc();
- _loc3_ = MainDocument.Partners.getDoc();
- _loc4_ = 1;
- for each(_loc6_ in _loc1_.firstChild.childNodes)
- {
- if(_loc6_.nodeType == XMLNodeType.ELEMENT_NODE)
- {
- (_loc9_ = new DressupTheme()).Title = _loc6_.attributes["name"].toString();
- _loc9_.HintMessage = _loc6_.attributes["hint"].toString();
- _loc9_.Description = _loc6_.attributes["description"].toString();
- for each(_loc10_ in _loc6_.childNodes)
- {
- if(_loc10_.nodeType == XMLNodeType.ELEMENT_NODE)
- {
- if(_loc10_.localName == "Attributes")
- {
- for each(_loc11_ in _loc10_.childNodes)
- {
- if(_loc11_.nodeType == XMLNodeType.ELEMENT_NODE)
- {
- if(_loc11_.attributes["name"] != "informal" && _loc11_.attributes["name"] != "formal")
- {
- _loc9_.TargetAttributes.push(_loc11_.attributes["name"]);
- }
- }
- }
- }
- else if(_loc10_.localName == "Samples")
- {
- for each(_loc12_ in _loc10_.childNodes)
- {
- if(_loc12_.nodeType == XMLNodeType.ELEMENT_NODE)
- {
- _loc9_.SampleParts.push(_loc12_.attributes["name"]);
- }
- }
- }
- }
- }
- _loc9_.Background = _loc6_.attributes["background"].toString();
- Occasions.push(_loc9_);
- }
- }
- for each(_loc7_ in _loc3_.firstChild.childNodes)
- {
- if(_loc7_.nodeType == XMLNodeType.ELEMENT_NODE)
- {
- (_loc13_ = new Partner()).Name = _loc7_.attributes["name"];
- _loc13_.HintText = _loc7_.attributes["hint"];
- _loc13_.ImageName = _loc7_.attributes["image"];
- _loc13_.TargetModel = _loc7_.attributes["targetmodel"];
- _loc13_.TargetName = _loc7_.attributes["targetname"];
- _loc13_.Index = _loc4_;
- PartnerValues[_loc13_.Name] = [MAXROWS];
- for each(_loc14_ in _loc7_.childNodes)
- {
- if(_loc14_.nodeType == XMLNodeType.ELEMENT_NODE)
- {
- if(_loc14_.localName.toLowerCase() == "liketext")
- {
- _loc13_.addLikeText(_loc14_.attributes["text"] as String);
- }
- else
- {
- _loc13_.Attributes.push(_loc14_.attributes["name"]);
- _loc5_ = new PartnerAttribute(_loc14_.attributes["name"],_loc14_.attributes["column"],_loc14_.attributes["row"]);
- if(getPartIndex(_loc5_.Name) == null)
- {
- PartnerTable.push(_loc5_);
- }
- PartnerValues[_loc13_.Name][_loc5_.getRow] = _loc5_.getColumn;
- }
- }
- }
- Partners.push(_loc13_);
- _loc4_++;
- }
- }
- for each(_loc8_ in _loc2_.firstChild.childNodes)
- {
- if(_loc8_.nodeType == XMLNodeType.ELEMENT_NODE)
- {
- (_loc15_ = new Level()).Name = _loc8_.attributes["name"];
- _loc15_.Rounds = parseInt(_loc8_.attributes["rounds"]);
- _loc15_.Store = _loc8_.attributes["store"];
- _loc15_.Next = _loc8_.attributes["next"];
- _loc15_.Background = _loc8_.attributes["background"];
- if(_loc8_.attributes["cutscene"] != undefined)
- {
- _loc15_.Cutscene = _loc8_.attributes["cutscene"];
- }
- else
- {
- _loc15_.Cutscene = "";
- }
- _loc15_.Occasions = new Array();
- for each(_loc16_ in _loc8_.childNodes)
- {
- if(_loc16_.nodeType == XMLNodeType.ELEMENT_NODE)
- {
- if(_loc16_.localName == "Occasions")
- {
- for each(_loc17_ in _loc16_.childNodes)
- {
- if(_loc17_.nodeType == XMLNodeType.ELEMENT_NODE)
- {
- _loc15_.Occasions.push(_loc17_.attributes["name"]);
- }
- }
- }
- }
- }
- Levels.push(_loc15_);
- }
- }
- }
-
- public static function getInstance() : Database
- {
- if(_instance == null)
- {
- _instance = new Database();
- }
- return _instance;
- }
-
- public function translateAttrib(param1:String) : String
- {
- switch(param1)
- {
- case "medium":
- return "medium cut";
- case "long":
- return "long cut";
- case "short":
- return "short cut";
- case "solid":
- return "plain";
- case "print":
- return "printed";
- case "bold":
- return "bold colors";
- case "pastel":
- return "pastel colors";
- default:
- return param1;
- }
- }
-
- public function getPartIndex(param1:String) : PartnerAttribute
- {
- var _loc2_:PartnerAttribute = null;
- for each(_loc2_ in PartnerTable)
- {
- if(_loc2_.Name == param1)
- {
- return _loc2_;
- }
- }
- return null;
- }
-
- public function getLevel(param1:String) : Level
- {
- var _loc2_:Level = null;
- for each(_loc2_ in Levels)
- {
- if(_loc2_.Name == param1)
- {
- return _loc2_;
- }
- }
- return null;
- }
-
- public function getPartnerAttributes(param1:String) : String
- {
- var _loc2_:PartnerAttribute = null;
- var _loc3_:String = null;
- var _loc4_:String = null;
- var _loc5_:* = undefined;
- var _loc6_:* = undefined;
- var _loc7_:int = 0;
- _loc3_ = "";
- _loc5_ = PartnerValues[param1][1];
- _loc6_ = PartnerValues[param1][2];
- _loc7_ = int(PartnerValues[param1][3]);
- for each(_loc2_ in PartnerTable)
- {
- if(_loc2_.getColumn == _loc5_ && _loc2_.getRow == 1 || _loc2_.getColumn == _loc6_ && _loc2_.getRow == 2 || _loc2_.getColumn == _loc7_ && _loc2_.getRow == 3)
- {
- _loc4_ = translateAttrib(_loc2_.Name);
- _loc3_ += "- " + _loc4_.toUpperCase().charAt(0) + _loc4_.toLowerCase().substr(1) + "\n\n";
- }
- }
- return _loc3_;
- }
-
- public function getPartner(param1:String) : Partner
- {
- var _loc2_:Partner = null;
- for each(_loc2_ in Partners)
- {
- if(_loc2_.Name == param1)
- {
- return _loc2_;
- }
- }
- return null;
- }
-
- public function getTheme(param1:String) : DressupTheme
- {
- var _loc2_:DressupTheme = null;
- for each(_loc2_ in Occasions)
- {
- if(_loc2_.Title == param1)
- {
- return _loc2_;
- }
- }
- return null;
- }
-
- public function getPartnerValue(param1:String, param2:int) : int
- {
- return PartnerValues[param1][param2];
- }
- }
- }
-